home *** CD-ROM | disk | FTP | other *** search
/ Chip 2007 January, February, March & April / Chip-Cover-CD-2007-02.iso / Pakiet bezpieczenstwa / mini Pentoo LiveCD 2006.1 / mpentoo-2006.1.iso / livecd.squashfs / usr / include / ewl / ewl_menu.h < prev    next >
C/C++ Source or Header  |  2006-01-09  |  2KB  |  63 lines

  1. #ifndef __EWL_MENU_H__
  2. #define __EWL_MENU_H__
  3.  
  4. /**
  5.  * @file ewl_menu.h
  6.  * @defgroup Ewl_Menu Menu: A Simple Windowed Menu
  7.  * Defines a menu used globally. The contents on the menu are drawn outside of
  8.  * the Evas.
  9.  *
  10.  * @{
  11.  */
  12.  
  13. /**
  14.  * @themekey /menu/file
  15.  * @themekey /menu/group
  16.  */
  17.  
  18. /**
  19.  * A simple internal menu, it is limited to drawing within the current evas.
  20.  */
  21. typedef struct Ewl_Menu Ewl_Menu;
  22.  
  23. /**
  24.  * @def EWL_MENU(menu)
  25.  * Typecasts a pointer to an Ewl_Menu pointer.
  26.  */
  27. #define EWL_MENU(menu) ((Ewl_Menu *) menu)
  28.  
  29. /**
  30.  * @struct Ewl_Menu
  31.  * Inherits from the Ewl_Menu_Base and does not extend the structure, but
  32.  * provides policy for drawing on the current evas.
  33.  */
  34. struct Ewl_Menu
  35. {
  36.     Ewl_Menu_Base  base;
  37.         int            popup_x;
  38.         int            popup_y;
  39.  
  40.     Ewl_Widget    *menubar_parent;
  41. };
  42.  
  43. Ewl_Widget    *ewl_menu_new(void);
  44. int         ewl_menu_init(Ewl_Menu *menu);
  45.  
  46. /*
  47.  * Internally used callbacks, override at your own risk.
  48.  */
  49. void ewl_menu_realize_cb(Ewl_Widget *w, void *ev_data, void *user_data);
  50. void ewl_menu_configure_cb(Ewl_Widget *w, void *ev_data, void *user_data);
  51. void ewl_menu_expand_cb(Ewl_Widget *w, void *ev_data, void *user_data);
  52. void ewl_menu_popup_move_cb(Ewl_Widget *w, void *ev_data, void *user_data);
  53. void ewl_menu_hide_cb(Ewl_Widget *w, void *ev_data, void *user_data);
  54. void ewl_menu_popup_destroy_cb(Ewl_Widget *w, void *ev, void *data);
  55. void ewl_menu_expand_mouse_move_cb(Ewl_Widget *w, void *ev_data, void *user_data);
  56. void ewl_menu_mouse_move_cb(Ewl_Widget *w, void *ev_data, void *user_data);
  57.  
  58. /**
  59.  * @}
  60.  */
  61.  
  62. #endif                /* __EWL_MENU_H__ */
  63.